import request from '@/utils/request'
import { otherFiltersItem } from '@/utils'

/**
 * 根据id获取详情
 * @param {string} id
 * @returns
 */
export function getDetailById(id) {
  return request({
    url: `/api/v1/fitPatrol/${id}`,
    method: 'get'
  })
}
/**
 * 保存问题巡查（最外层）
 * @param {object} data
 * @returns
 */

export const saveDecorateInspection = async(data) => {
  const res = await request({
    url: `/api/v1/fitPatrol`,
    method: data.id ? 'put' : 'post',
    data
  })
  return res && res.msg
}

/**
 * 根据上层巡检id查询问题列表
 * @param {string} patrolId 巡检id
 * @returns
 */
export function queryProblemList(patrolId) {
  const data = new FormData()
  data.append('pageFlag', false)
  data.append('filtersRaw', JSON.stringify([otherFiltersItem('patrolId', patrolId, '=')]))
  return request({
    url: '/api/v1/patrolIssue/page',
    method: 'post',
    data
  })
}

/**
 * 根据装修任务单号获取装修任务详情
 * @param {string} decorationTaskCode  任务单号
 * @returns
 */
export function getDecorationByCode(decorationTaskCode) {
  return request({
    url: `/api/v1/fitPatrol/getDecorationByCode/${decorationTaskCode}`,
    method: 'get'
  })
}

/**
 * 根据门店编码获取门店详情
 * @param {string} shopCode  门店号
 * @returns
 */
export function getShopByCode(shopCode) {
  return request({
    url: `/api/v1/fitPatrol/getShopByCode/${shopCode}`,
    method: 'get'
  })
}

/**
 * 保存巡检问题
 * @param {object} data
 * @returns
 */
export function saveProblem(data) {
  return request({
    url: `/api/v1/patrolIssue`,
    method: data.id ? 'put' : 'post',
    data
  })
}
/**
 * 获取附件配置
 * @returns
 */
export function postConfigAttachmentTemplate() {
  const data = new FormData()
  data.append('filtersRaw', JSON.stringify([otherFiltersItem('belongModel', 'SHOP_PATROL', '=')]))
  return request({
    url: '/api/v1/configAttachmentTemplate/page',
    method: 'POST',
    data
  })
}

/**
 * 批量删问题
 * @param {Array} data id的集合
 * @returns
 */
export function problemDeleteBatch(data) {
  return request({
    url: '/api/v1/patrolIssue/deleteBatch',
    method: 'delete',
    data
  })
}

/**
 * 变更巡检人员
 * @param {Object} data
 * @returns
 */
export function updatePerson(data) {
  return request({
    url: '/api/v1/fitPatrol/updatePerson',
    method: 'put',
    data
  })
}

/**
 * 批量删除主表数据
 * @param {Array} data
 * @returns
 */
export function deleteTableBatch(data) {
  return request({
    url: '/api/v1/fitPatrol/deleteBatch',
    method: 'delete',
    data
  })
}
/**
 * 保存审核-提交
 * @param {*} data
 * @returns
 */
export function saveAudit(data) {
  return request({
    url: '/api/v1/fitPatrol/submit',
    method: 'put',
    data
  })
}

/**
 * 根据验收类型查询责任列表
 * @returns
 */
export function queryDutyList() {
  const data = new FormData()
  data.append('filtersRaw', JSON.stringify([otherFiltersItem('acceptType', 'A', '='), otherFiltersItem('enable', '1', '=')]))
  return request({
    url: '/api/v1/configAcceptDuty/page',
    method: 'POST',
    data
  })
}

/**
 * 根据验收类型查询问题分类列表
 * @returns
 */
export function queryProblemClassList() {
  const data = new FormData()
  data.append('filtersRaw', JSON.stringify([otherFiltersItem('acceptType', 'A', '='), otherFiltersItem('enable', '1', '=')]))
  return request({
    url: '/api/v1/configAcceptProblem/page',
    method: 'POST',
    data
  })
}
